1. Field of the Invention
The present invention generally relates to a graphical user interface, and more specifically, to a tool for building a graphical user interface.
2. Description of the Related Art
Early computer systems used command-based operating systems and software applications. These command-based systems provided a user interface that required the user to memorize a relatively large number of commands in order to perform meaningful work. The user interfaces for these command-driven computer programs required a relatively high level of skill to operate, and were not considered to be “user-friendly.” With the introduction of the IBM personal computer (PC), computers became more widely available, both in the workplace and in homes, and the computer industry soon recognized the need to provide more user-friendly interfaces to computer programs. As a result, many different operating systems were introduced that provided a graphical user interface (GUI), including IBM's OS/2, Microsoft Windows, and the Apple Macintosh. Software applications with graphical user interfaces soon followed, and the vast majority of computer programs running on personal computers today provide a user-friendly graphical user interface.
Most graphical user interfaces provide many common features. The basic display area in a graphical user interface is known as a window or panel. For the discussion in this patent application, a basic display area is referred to as a panel, recognizing that other terms are known in the art to describe display areas. A single panel may fill the entire display, or the display can be split into a number of different panels. A panel may include a number of different “components”, which are different areas that display text, drop-down lists, text entry fields, buttons, etc. A pointing device such as a trackball or a mouse is generally used to select various commands and options on a panel by clicking on the appropriate fields or buttons within the panel. In addition, a keyboard is commonly used to enter text information into a panel.
Despite the accessibility of GUI content and components to most users, without special enhancements, GUI's, and IT generally, remain largely inaccessible to visually impaired users. Recently, section 508 of the Rehabilitation Act Amendments of 1998 requires all United States federal agencies to make their information technology accessible to their employees and customers with disabilities. That is, all new IT equipment and services purchased by federal agencies must be accessible. This rule applies to all electronic equipment used in federal agencies (not just workstations). The law also gives federal employees and members of the public the right to sue if the government agency does not provide comparable access to the information and data available to people without disabilities. All state agencies that receive federal funds under the Assistive Technology Act of 1998 are also required to comply with section 508 requirements.
Since the federal government is a major client for many computer companies, significant effort has been spent in developing accessibility aids to facilitate computer operation by disabled users. One example of an accessibility aid that enables disabled user, i.e., a visually impaired user, to use a computer is a “screen reader utility,” which reads information displayed on a video display to the visually impaired user. These screen reader utilities operate by intercepting and analyzing information sent to the video driver. That is, when an application program wants to display information on the video display, it sends the information to a video driver, which is responsible for displaying the information on the video display. For example, when an application program wants to display a character, such as an ASCII character, the program sends an ASCII character code to the video driver indicating which character of the ASCII character set to display on the video display. The screen reader intercepts this ASCII character code, determines the phonetic sounds associated with the ASCII character, and audibly outputs the phonetic sounds to the visually impaired user, so that the visually impaired user can perceive the character written to the video display. An example of a screen reader is the Home Page Reader® (HPR) by International Business Machines, Inc. of Armonk, N.Y. HPR uses text-to-speech processing and is configured to read the content of a web page to the visually impaired user through a set of speakers.
As a result, many visually impaired users use screen readers to read graphical user interface panel components, such as, text entry fields. A graphical user interface panel that is accessible for visually impaired users typically includes a label associated with the panel and the components contained therein. The label is configured to textually describe the panel or component associated to it. Thus, at run time, when a visually impaired user places a cursor on a component, the screen reader will read out loud the label associated with that panel or component. In this manner, the visually impaired user is able to perceive the component.
The association between the panel or component and the label is typically made using an Application Programming Interface (“API”). For instance, in Java, a developer has to manually call an API to associate the label with the component. Manually programming these API calls, however, can be tedious.
Moreover, often times, the developer fails to associate a label with a panel or component. When a visually impaired user places a cursor on that panel or component, the screen reader will not be able to read anything. Consequently, the visually impaired is left unaware of the panel or component, and thus is unable to perceive the panel or component.
Accordingly, a need exists therefore for an improved method and apparatus for associating a panel and the components contained therein with their respective labels.